import { services } from '@/services'
import { ArticleModel, FilesModel } from '@/services/service'
import { INITTRUE } from '@/types/constant'

export async function init() {
  if (localStorage.getItem(INITTRUE)) {
    return
  }

  const md = `
  Markdown 目录：
  [TOC]
  
  Markdown 标题：
  # 这是 H1
  ## 这是 H2
  ### 这是 H3
  
  Markdown 列表：
  - 列表项目
  1. 列表项目
  
  *斜体*或_斜体_
  **粗体**
  ***加粗斜体***
  ~~删除线~~
  
  Markdown 插入链接：
  [链接文字](链接网址 "标题")
  
  Markdown 插入图片：
  ![alt text](https://img2.baidu.com/it/u=1110695959,2322594919&fm=26&fmt=auto&gp=0.jpg "Markdown")
  ![alt text](https://img0.baidu.com/it/u=1679772518,1468383322&fm=26&fmt=auto&gp=0.jpg "Markdown")
  
  Markdown 插入代码块：
      \`\`\`python
      #!/usr/bin/python3
      print("Hello, World!");
      \`\`\`
  
  Markdown 引用：
  > 引用内容
  
  Markdown 分割线：
  ---
  
  Markdown 换行：
  <br>
  
  Markdown 段首缩进：
  &ensp; or &#8194; 表示一个半角的空格
  &emsp; or &#8195;  表示一个全角的空格
  &emsp;&emsp; 两个全角的空格（用的比较多）
  &nbsp; or &#160; 不断行的空白格
  `
  let fileRes = await services.addFile({
    name: 'Markdown',
    type: 'file',
    icon: 'icon-markdown'
  } as FilesModel)

  if (!fileRes.code) return

  let file = await services.getFile(fileRes.data)
  if (!file?.code) return

  let article = await services.getArticle(file.data.id)

  if (!article.code) return

  let res = await services.updateArticle({
    ...article.data,
    content: md
  } as ArticleModel)

  if (res.code) {
    localStorage.setItem(INITTRUE, 'true')
    return true
  }

  return false
}
